package com.iprojectmanager.views;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.iprojectmanager.entities.*;
import com.iprojectmanager.managers.*;

/**
 * @author Alucard
 */
public class VistaLider extends Vista
{
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
    {
        HttpSession session = request.getSession();
        LiderProyecto user = (LiderProyecto)session.getAttribute("user");
        PrintWriter out = response.getWriter();
        
            out.println(Utilities.getDocType());
            out.println("<HTML>" + Utilities.getHead("Lider del Proyecto"));
            out.println("<div id=\"container\">");
            out.println(Utilities.getIntro("Lider del Proyecto: " + user.getProyecto().getNombre(), user));

            String form = 
                    "<div id=\"pageContent\">"+
                            "<div id=\"selection1\">" + this.getFormIntegrantes(request) + "</div>" +
                            "<div id=\"selection2\">" + this.getFormActividades(request) + "</div>" +
                            "<div id=\"selection3\">" + this.getFormProyectos() + "</div>" +
                            Utilities.getFooter() + 
                    "</div>";

            out.println(form);
            out.println(Utilities.getMenu());
            out.println("</div> <!-- fin container---></BODY></HTML>");
    }
    
    
    public String getFormActividades(HttpServletRequest request)
    {
        HttpSession session = request.getSession();
        LiderProyecto lider = (LiderProyecto)session.getAttribute("user");
        long idproj = (lider.getProyecto() != null)?lider.getProyecto().getId():0;
        ActivitiesManager manager = new ActivitiesManager();
        ArrayList<Actividad> actividades = manager.getActividades(idproj);
        
        
        String table = "";
            for(Actividad act : actividades)
            {
                table +=
                    "<tr>" +
                        "<td><input name=\"actividad\" value=\""+ act.getId() +"\" type=\"checkbox\" size=\"20\"></td>" +
                        "<td>"+ act.getId() +"</td>"+
                        "<td>"+ act.getNombre() + "</td>"+
                        "<td>"+ act.getFechaInicio().toString() + "</td>"+
                        "<td>"+ act.getFechaEntrega().toString() + "</td>"+
                        "<td>"+ ((act.getResponsable() != null)?act.getResponsable().getNombre():"Sin asignar") + "</td>"+
                    "</tr>";
            }
        
        return
            "<h3><span>Administracion de Actividades</span></h3>" +
            "<p class=\"p1\"><span>" +
                "<form action=\"ActivitiesJSP.jsp\" method=\"GET\">" +
                        "<Table border=\"1\" cellspacing=\"1\">" +
                            "<tr>" +
                                "<b><th>Elegir</th><th>Id</th><th>Nombre Actividad</th>" +
                                    "<th>Fecha de Inicio</th><th>Fecha de Entrega</th><th>Responsable</th>" +
                                "</b>" +
                            "</tr>" +
                                table +
                        "</Table><br></br><br></br>" +
                    "<select name=\"operacioneactividades\">" +
                        "<option>Crear</option>" +
			"<option>Eliminar</option>" +
			"<option>Modificar</option>" +
			"<option>Mostrar Informacion</option>" +
                    "</select><br></br>" +
                    "<button type=\"submit\">Aceptar</button>" +
		"</form>" +
            "</span></p>";
    }
    
    public String getFormProyectos()
    {
        return 
            "<h3><span>Administracion de Proyecto</span></h3>" +
            "<p class=\"p1\"><span>" +
		"<form action=\"GanttControl\" method=\"GET\">" +
                    "<select name=\"resultadosproyecto\">" +
			"<option>Mostrar Informacion</option>" +
			"<option>Mostrar Gantt</option>" +
			"<option>Generar Reporte</option>" +
                    "</select><br></br>" +
                    "<button type=\"submit\">Aceptar</button>" +
		"</form>" +
            "</span></p>";
    }
    
    public String getFormIntegrantes(HttpServletRequest request)
    {
        HttpSession session = request.getSession();
        LiderProyecto lider = (LiderProyecto)session.getAttribute("user");
        long idproj = (lider.getProyecto() != null)?lider.getProyecto().getId():0;
        UserManager manager = new UserManager();
        ArrayList<IntegranteProyecto> integrantes = manager.getIntegrantesFromProyecto(idproj);
        
        String table = "";
        for(IntegranteProyecto user : integrantes)
        {
            table +=
                    "<tr>" +
                        "<td><input name=\"usuario\" value=\""+ user.getId() +"\" type=\"checkbox\" size=\"20\"></td>" +
                        "<td>"+ user.getId() +"</td>"+
                        "<td>"+ user.getNombre() + " " +
                                user.getApellidoPaterno() + " " +
                                user.getApellidoMaterno() + "</td>"+
                    "</tr>";
        }

        return 
            "<h3><span>Administracion de Integrantes</span></h3>" +
            "<p class=\"p1\"><span>" +
                "<form action=\"LiderControl\" method=\"GET\">" +
                        "<Table border=\"1\" cellspacing=\"1\">" +
                            "<tr>" +
                                "<b><th>Elegir</th><th>Id</th><th>Usuario</th></b>" +
                            "</tr>" +
                                table +
                        "</Table><br></br><br></br>" +
                        "<select name=\"operacionesintegrante\">" +
                        "<option>Agregar Integrantes</option>" +
                        "<option>Quitar Integrantes</option>" +
                        "<option>Modificar Datos</option>" +
                        "<option>Asignar Roles</option>" +
                        "<option>Evaluar Material</option>" +
                    "</select><br></br>" +
                    "<button type=\"submit\">Aceptar</button>" +
                "</form>" +
            "</span></p>";
    }
    
    @Override
    public String getServletInfo()
    {
        return "Vista del lider de Proyecto";
    }
}
